package com.wwu.develop.controller;

import com.wwu.common.utils.CronUtils;
import com.wwu.common.web.ResultObj;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 开发组件前端控制器
 * @author 一蓑烟雨
 * @version 1.0.0
 * @date 2023-06-21 17:34
 */
@Controller
@RequestMapping("/develop")
public class ComponentController {
    /**
     * 请求转发图标组件主页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/6/2 16:31
     */
    @GetMapping("/component/iconList")
    public String iconListHtml() {
        return "develop/component/layui-icon";
    }

    /**
     * 请求转发iconPicker图标组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/6/2 16:31
     */
    @GetMapping("/component/iconPickerList")
    public String iconPickerHtml() {
        return "develop/component/icon-picker";
    }

    /**
     * 请求转发iconBuiltIn图标组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/6/2 16:31
     */
    @GetMapping("/component/iconBuiltInList")
    public String iconBuiltInHtml() {
        return "develop/component/icon-builtIn";
    }

    /**
     * 请求转发notice通知公告组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/notice")
    public String noticeHtml() {
        return "develop/component/notice";
    }

    /**
     * 请求转发notify消息通知组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/notify")
    public String layNotifyHtml() {
        return "develop/component/notify";
    }


    /**
     * 请求转发cron表达式组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/cron")
    public String nprogressHtml() {
        return "develop/component/cron";
    }


    /**
     *  根据Cron表达式获取最近几次执行时间
     * @param cron
     * @param num
     * @return com.wwu.common.web.ResultObj
     * @author 一蓑烟雨
     * @date 2023/8/2 16:14
     */
    @GetMapping("/component/cronNextTimes")
    @ResponseBody
    public ResultObj cronNextTimes(String cron){
        return ResultObj.success(CronUtils.nextExecTimes(cron,10));
    }

    /**
     * 请求转发countUp数字步进组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/countUp")
    public String countUpHtml() {
        return "develop/component/countUp";
    }

    /**
     * 请求转发qrcode条形码组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/qrcode")
    public String qrcodeHtml() {
        return "develop/component/qrcode";
    }

    /**
     * 请求转发barcode二维码组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/barcode")
    public String barcodeHtml() {
        return "develop/component/barcode";
    }

    /**
     * 请求转发layarea省市县区三级联动组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/layarea")
    public String layareaHtml() {
        return "develop/component/layarea";
    }

    /**
     * 请求转发tinymce富文本编辑器组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/tinymce")
    public String wangEditorHtml() {
        return "develop/component/tinymce";
    }

    /**
     * 请求转发step分步表单组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/step")
    public String stepHtml() {
        return "develop/component/step";
    }

    /**
     * 请求转发tableSelect下拉表格组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/tableSelect")
    public String tableSelectHtml() {
        return "develop/component/tableSelect";
    }

    /**
     * 请求转发treeTable树形表格组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/treeTable")
    public String treeTableHtml() {
        return "develop/component/treeTable";
    }
    /**
     * 请求转发xmSelect下拉多选组件页面
     * @return java.lang.String
     * @author 一蓑烟雨
     * @date 2023/7/31 18:25
     */
    @GetMapping("/component/xmSelect")
    public String xmSelectHtml() {
        return "develop/component/xmSelect";
    }

}
